To verify proper implementation of software, software testing is an important phase in the development life cycle. Software testing is done in many phases of the life cycle. Software testing is divided mainly as two groups—Application testing and Device testing.
Software present in the PC platform is mainly called as application software. Testing of the application software is application testing. Since many hardware resources are available in PC environment, lots of testing tools are also available for application testing.
Software present in embedded environments like mobile, PDA, Calculator, Car, watch, Medical devices etc are called as embedded software. Testing of the embedded devices is device testing. In device testing, limited resources are available, because of product cost, footprint, etc. So mostly manual testing is performed for testing embedded software.
Manual Testing of embedded software has been performed for many years and it has many drawbacks. The effort involved, monotony of the job, difficulty of repeatability in some cases, time consumption and human errors are main and serious problem areas.